1. Field of the Invention
The present invention relates to a numerical controller for driving a machine tool, and particularly relates to a numerical controller capable of safely verifying validity of a machining program and a movement prohibition boundary by controlling a stroke when a test operation is performed near a stroke limit.
2. Description of the Related Art
Whether a machining program of a numerical controller that drives a machine tool executes an intended correct operation needs to be verified before driving the machine tool by actually operating the machine tool. Examples of an operation verification section of the machining program include a mode for performing a test operation represented by a single block operation of performing an operation for each directed block, moving and stopping a tool or a workpiece using one block as a unit, and verifying whether an intended correct operation is performed.
Meanwhile, when the machine tool is operated, there is a possibility that interference between the tool and a machine structure of the machine tool or a jig for fixing a workpiece to be machined may occur as a result of movement of the tool or a table to which the workpiece is attached. In order to avoid such an interference, a stroke limit function capable of setting a movement prohibition boundary of the tool is provided in the numerical controller. When the machine tool is driven by a new machining program in order to machine a different workpiece from that of a previous session, in general, the jig for fixing the workpiece to the machine tool is changed, and thus the movement prohibition boundary of the tool in the above-described stroke limit function needs to be changed.
When the different workpiece from that of the previous session is machined as described above, the machining program or the movement prohibition boundary of the tool is changed. Thus, an operator needs to more attentively perform an operation to proceed with a verification operation when checking a machining program in case of movement near the movement prohibition boundary such that interference between the machine structure or the jig and the tool does not occur due to a program instruction error or a region setting error. In this instance, the operator needs to gradually move the tool by lowering an override of a movement speed in order to avoid the above-described interference, and carefully perform an operation such that interference between the tool and the machine structure or the jig does not occur while putting an operator's hand on a stop button to be able to immediately stop the machine. For this reason, there are problems that a burden on the operator is great, and verification requires a lot of time.
Recently, as machine tools of multi-axis or multi-path type have widely been used and sophisticated numerical controllers have also been widely used, an operator's effort or operation time for verifying validity of machining programs is prone to increase. For this reason, an issue in a machining operation is to reduce time required for verification and lighten the burden on operators as much as possible.
JP 06-075615 A discloses a numerical controller for reading a machining program block by block at a set time interval and automatically executing the machining program in order to more smoothly perform an operator's verification operation when the machining program is verified by a test operation.
In the above numerical controller, an operation is automatically started at a certain time interval, which leads to a reduction in operator's effort to repeatedly press a start switch. However, since the stroke is not restricted, the operator needs to more attentively perform an operation to proceed with a verification operation such that interference between a jig or a machine structure of a machine tool and a tool does not occur in an operation near a stroke limit.
In addition, JP 06-282318 A and JP 2008-257550 A disclose a numerical controller that sets an amount of execution which produces a movement at a time in a test operation with the use of number of blocks designated, predetermined distance or time, as well as one unit of block.
The above numerical controller can set an amount of execution which produces a movement at a time in a test operation with the use of number of blocks designated, predetermined distance or time, as well one block. Therefore, an operator's effort to repeatedly press a start switch is reduced in a test operation to be carried out in a case where minute movement instruction blocks are continued as in a program for die machining. Conversely, in case of a machining program of non-minute block instructions, a movement distance can effectively be restricted to a certain amount. However, since a movement region is not designated, there is a possibility that a movement distance may be restricted even in a relatively safe region not near a stroke limit.
Meanwhile, JP 03-119407 A discloses a numerical controller that restricts movement within a specified area only to a predetermined unit movement amount.
The above numerical controller can restrict movement within a specified area only to a predetermined unit movement amount. However, the numerical controller cannot temporarily stop movement near a stroke limit, change a movable distance according to nearness to a movement prohibition boundary, or impose a restriction only on movement in a direction approaching the movement prohibition boundary. Therefore, it is insufficient as a measure in which an operator needs to attentively perform a verification operation.
Further, JP 2013-125453 A discloses a numerical controller that determines and displays an extent of an operation at which a stroke limit is exceeded when a machine tool is moved by a manual operation in order to allow an operator to perform an operation in a relaxed manner within a range not exceeding the stroke limit.
When a machine is manually operated, the above numerical controller can determine to which extent a manual feeding apparatus of the machine should be operated further until the stroke limit is exceeded, based on an operation amount of the manual feeding apparatus, and display the determination result. However, the numerical controller does not lighten an operator's verification operation when automatically operating the machine according to an instruction of a machining program.